Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Good code



  errGroup in GoLang explained

Today, let's talk about the usage and applicable scenarios of errGroup, which is often used. Why is it useful? Generally, when we use goroutine, we cannot return a value. If you want to pass out the result of the goroutine execution, you usually have to use the channel. The errGroup package is suitable if you want to know when the goroutine you opened encounters an error during execution and stop working, and I need to know the error value. errGroup usage The package needs to be downloaded and i...

   GOLANG,ERRGROUP,WAITHROUP,CONCURRENCY     2023-05-27 23:58:20

  Create temp file in Bash using mktemp and trap

When working on Linux Bash, sometimes there is need to create temporary file. A common way of creating temp file on Linux is creating some file in /tmp directory. However there is security risk when creating temp file in /tmp directory. This post will show how to securely create temp file in Linux Bash. When creating file in /tmp directory, there are some security risks. This directory can be accessed by any user on the system, any user can write data into this directory as well. The files creat...

   LINUX,MKTEMP,TRAP,TEMP FILE     2019-12-30 23:28:23

  JavaScript as a First Language

At Khan Academy we've been investigating teaching Computer Science to students in some new and interesting ways. The most interesting aspect of which is that we're likely going to be teaching them JavaScript as their first language. We're in a very unique position as we're primarily aiming to teach students who've been through our previous math and science-centric curriculum. Because of this we can create some rather compelling exercises and projects that never would've been feasible other...

   JavaScript,Learning,First language,Inheritence,Prototype     2011-12-23 07:53:45

  Be careful about printing error as string in GoLang

In GoLang, we can format and produce string using fmt.Printf(), just like C, GoLang also supports format verbs like %s, %d which can be placeholder for different types of values. But please pay attention when printing error as string so that you will not fall into some trap. Let's first take an example code snippet and see what trap we are talking about. package main import "fmt" type A string func (a A) Error() string { return fmt.Sprintf("%s is an error", a) } func main() { a := A("hello...

   STACKOVERFLOW,GOLANG,FMT     2019-01-23 09:17:15

  Telecom elements in WeChat

As an engineer who spends much time on focusing on WeChat like applications(Skype, Fring, Viber, Kik Messenger, WhatsApp, Talkbox, LINE, Kakao Talk) , I would like to share with you the telecom element in WeChat to show the inheritance and integration of traditional telecom services in the Internet service and applications.First, WeChat is an application to send messages, the fully IP-based messaging capabilities may replace the traditional telecom services such as SMS, MMS and VMS ,This is ver...

   WeChat,Telecom operator     2013-04-13 20:29:46

  Can API be copyrighted? At least Oracle hopes so

  The result of the lawsuit case war between Oracle and Google is clearer now. The court said that 9 lines of code of Android has violated intellectual property right, these 9 lines of code can be ignored relative to the number of codes for the whole Android system. But just like LinuxToy points out that the reasons why this case catches so much attention are : 1). The amount of money Oracle asked from Google is $1 billion; 2). The statement says Java language itself doesn't violate the int...

   Oracle,Google,API,Copyright,Lawsuit case     2012-05-11 00:47:58

  Why using + to concatenate string in Java loop is not a good option

String concatenation is a common operation in Java programming. It is to concatenate multiple strings into a single string. Java provides a String class which is an immutable class which means the object cannot be mutated once instantiated. Once a String object is instantiated, its properties cannot be changed anymore, so when concatenating strings, it's actually create a new String instance to store the concatenated string values. For example, below is a simple string concatenation example. Str...

   JAVA,STRING,JAVA 8     2019-01-18 22:07:12

  Some frequently used ES6 code snippets

Below are a list of ES6 code snippets which are used frequently. Hope that it will be helpful. 1. Shuffle array elements let arr = [67, true, false, '55'] arr = arr.sort(() => 0.5 - Math.random()) console.log(arr) // [ '55', 67, false, true ] 2. Remove characters which are not numbers const str = 'xieyezi 23213 is 95994 so hansome 223333' const numbers = str.replace(/\D/g, '') console.log(numbers) // 2321395994223333 3. Reverse sequence or words const sentence = 'xieyezi js so handsome, lol.'...

   JAVASCRIPT,ES6,CODE SNIPPET,TIPS     2022-04-10 07:56:07

  Chrome is dominating the browser world

Microsoft has announced recently that their Edge browser will abandon its own kernel and switch to use Google Chromium. This by no means indicates that Microsoft admitted it lost the war against Google on browser. For Microsoft, making such a decision is certainly not easy, but it is absolutely a wise decision. After all, the market share of both parties are not at the same competing level anymore. According to NetMarketShare's statistics, Chrome's market share in desktop world has reached 67.29...

   CHROME,CHROMIUM,EDGE     2019-02-01 08:02:53

  How to praise yourself in resume

When finding a job, we first need to send our CV and resume to the employer. Among many candidates, how do we make our resume prominent and noticed by the employer. We need some impressive information. We can praise ourselves in the resume so that the employer can have a good impression on me. Here we summarized a list about how to praise ourselves in our resume.Mature, dynamic and honest.Excellent, ability of systematical management.Ability to work independently, mature and resourceful.A person...

   Resume,Career,Job,Content     2012-06-09 00:27:14